package com.cmc.cloud.cmclink.doc.vo.special.dgcommodityvo;

import java.math.BigDecimal;

import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;

/**
 * 危险品品名export-excel表
 * 
 * @author dev89
 * @date 2025/07/10 10:38
 **/
@Schema(description = "管理后台 - dg_commodity 导出excel VO")
@Data
@Builder
@ToString(callSuper = true)
@AllArgsConstructor
@NoArgsConstructor
public class DgCommodityExportExcelVO {
    @ExcelIgnore
    private Long id;

    @ExcelIgnore
    private String versionNo;

    @ExcelProperty(value = "UNNO", order = 1)
    @ColumnWidth(50)
    private String unNo;

    @ExcelProperty(value = "SEQ", order = 2)
    @ColumnWidth(50)
    private Integer seq;

    @ExcelProperty(value = "PSN", order = 3)
    @ColumnWidth(200)
    private String psn;

    @ExcelProperty(value = "IMDG", order = 4)
    @ColumnWidth(50)
    private String imoClass;

    @ExcelProperty(value = "CMPT_GROUP", order = 5)
    @ColumnWidth(50)
    private String cmptGroup;

    @ExcelProperty(value = "SUBSIDIARY_RISK", order = 6)
    @ColumnWidth(50)
    private String subsidiaryRisk;

    @ExcelProperty(value = "STOWAGE_CATEGORY", order = 7)
    @ColumnWidth(50)
    private String stowageCategory;

    @ExcelProperty(value = "EXT_IMDG", order = 8)
    @ColumnWidth(50)
    private String extImdg;

    @ExcelProperty(value = "SEGREGATION_GROUP", order = 9)
    @ColumnWidth(50)
    private String segregationGroup;

    @ExcelProperty(value = "SEGREGATION_TABLES", order = 10)
    @ColumnWidth(50)
    private String segregationTable;

    @ExcelProperty(value = "SEGREGATION_TABLES2", order = 11)
    @ColumnWidth(50)
    private String segregationTable2;

    @ExcelProperty(value = "SPECIAL_PROV", order = 12)
    @ColumnWidth(50)
    private String specialProv;

    @ExcelProperty(value = "PACK_GROUP", order = 13)
    @ColumnWidth(50)
    private String packingGroup;

    @ExcelProperty(value = "MP", order = 14)
    @ColumnWidth(50)
    private String mp;

    @ExcelProperty(value = "CLEAR_LIVING", order = 15)
    @ColumnWidth(50)
    private String clearLiving;

    @ExcelProperty(value = "FOOD_STUFFS", order = 16)
    @ColumnWidth(50)
    private String foodstuffs;

    @ExcelProperty(value = "HEAT_SOURCE", order = 17)
    @ColumnWidth(50)
    private String heatSource;

    @ExcelProperty(value = "SHADE_RADIENT", order = 18)
    @ColumnWidth(50)
    private String shadeRadient;

    @ExcelProperty(value = "FLASH_POINT", order = 19)
    @ColumnWidth(50)
    private BigDecimal flashPoint;

    @ExcelProperty(value = "STOWAGE_SEGREGATION", order = 20)
    @ColumnWidth(50)
    private String stowageSegregation;

    @ExcelProperty(value = "PROPERTY_OBSERVATIONS", order = 21)
    @ColumnWidth(50)
    private String propertyObservations;

    @ExcelProperty(value = "LIMITD_QTY", order = 22)
    @ColumnWidth(50)
    private String limitedQty;

    @ExcelProperty(value = "PACK_INSTR", order = 23)
    @ColumnWidth(50)
    private String packInstr;

    @ExcelProperty(value = "PACK_PROV", order = 24)
    @ColumnWidth(50)
    private String packProv;

    @ExcelProperty(value = "IBC_INSTR", order = 25)
    @ColumnWidth(50)
    private String ibcInstr;

    @ExcelProperty(value = "IBC_PROV", order = 26)
    @ColumnWidth(50)
    private String ibcProv;

    @ExcelProperty(value = "TANK_IMO", order = 27)
    @ColumnWidth(50)
    private String tankImo;

    @ExcelProperty(value = "TANK_UN", order = 28)
    @ColumnWidth(50)
    private String tankUn;

    @ExcelProperty(value = "TANK_PROV", order = 29)
    @ColumnWidth(50)
    private String tankProv;

    @ExcelProperty(value = "EMS", order = 30)
    @ColumnWidth(50)
    private String ems;

    @ExcelProperty(value = "NOT_MIX_CLASS1", order = 31)
    @ColumnWidth(50)
    private String notMixClass1;

    @ExcelProperty(value = "CARGO_TYPE", order = 32)
    @ColumnWidth(50)
    private String cargoType;

    @ExcelProperty(value = "FP_GROUP", order = 33)
    @ColumnWidth(50)
    private String fpGroup;

    @ExcelProperty(value = "STOWAGE_HANDLING", order = 34)
    @ColumnWidth(50)
    private String stowageHandling;

    @ExcelProperty(value = "SEGREGATION", order = 35)
    @ColumnWidth(100)
    private String segregation;

    @ExcelProperty(value = "NOS", order = 36)
    @ColumnWidth(50)
    private String nos;

    @ExcelProperty(value = "ID", order = 37)
    @ColumnWidth(50)
    private String businessId;

    @ExcelProperty(value = "ID1", order = 38)
    @ColumnWidth(50)
    private String businessId1;

}
